#include "EventListener.h"
#include "zRuntimeClass.h"

class Entity;

class ComponentBase 
    : public EventListener
    , public giant::RuntimeClass<ComponentBase>
{
public:
    ComponentBase();

    virtual ~ComponentBase();

    virtual void onstart() {}
    virtual void onremove() {}
public:
    Entity* owner;
};